In many photography scenarios, it is advantageous to keep a camera as still as possible. Without a tripod or other support, a photographer's own movement can compromise the image quality of the photograph. Even pressing a physical button or software generated virtual button (such as on a touch screen interface) may move the camera enough to negatively impact the photograph. This problem can be referred to as hand shaking or camera shake. Camera shake can be problematic with dedicated cameras and with mobile devices (e.g. tablets and smartphones) that have an on-board camera.
FIG. 1 illustrates a mobile device 103 that has an image capture button 155 for initiating an image capture of scene 125 using a digital image sensor (not shown) on the backside of mobile device 103. In FIG. 1, the digital image sensor on the backside of mobile device 103 is activated and is transmitting its field of view as scene 125 on the display of the mobile device. Circuitry within mobile device 103 is displaying image capture button 150 as a virtual button to a user as an alternative to a physical button or switch, such as image capture button 155. The user may press image capture button 150 in order to initiate an image capture of scene 125. Regardless of capture button 155, the user's touch from pressing the image capture button may move the camera slightly, which may cause unwanted effects (e.g. blurring) in the captured image.
Many solutions have been proposed and marketed to address this problem. In one solution, the camera shake caused by a user pressing an image capture button is mitigated by delaying the image capture until after the initial impact of the user pressing image capture button 150 or 155. However, delaying the image capture may cause the user to miss photographing the desired scene or subject, especially in an action shot. Another solution to the camera shake problem is to have a separate device (e.g. remote control) send a wireless/remote shutter signal to the camera. The remote shutter signal allows a camera to initiate an image capture without being physically impacted. Among the drawbacks of this solution are the added expense of the additional hardware of the remote control, the inconvenience of controlling two devices together at the same time, and the impracticability of taking the camera out of the user's hand.
Some devices mitigate the camera shake problem with an anti-shake algorithm that computes the motion estimation between two or more consecutive frames and compensates for the motions between the frames. One disadvantage of this solution is the need for a buffer to store the frames needed to compensate for the motion between the frames. Another disadvantage of this solution is the extra processing resources and corresponding electrical power that may be used in processing. One final potential disadvantage of this solution is that the image quality of the image created by the anti-shake algorithm may be degraded if the motion between frames is estimated inaccurately. Given the drawbacks of the conventional solutions, it would be advantageous to have a solution that did not utilize an image capture time delay, did not include substantial additional hardware and did not require intensive processing and substantial power resources.